"""
__author__ = 'XiaoNing Wang'
"""
from typing import List
from pytest_practice.python_code.calc import Calculator
import pytest

'''
pytest 存储公共资源的文件，保存一些公共数据，或者fixture ,或者 hook
名字是固定的
应用的时候也不需要导入
'''


# 使用fixture  实现获取 calc
@pytest.fixture(scope='class')
def get_calc():
    # setup
    print("开始计算")
    calc = Calculator()
    # yield 前面的部分相当于setUp
    yield calc  # 相当于 return
    # yield后面的部分相当于teardown
    print("结束计算")


# 收集并且修改测试用例
def pytest_collection_modifyitems(
        session: "Session", config: "Config", items: List["Item"]
) -> None:
    # items 就是测试用例
    for item in items:
        item.name = item.name.encode('utf-8').decode('unicode-escape')
        item._nodeid = item.nodeid.encode('utf-8').decode('unicode-escape')
